/**
 * create by young (young2f@outlook.com) on 2023/6/21
 * 每分钟创建一条设备实时数据
 */
'use strict';
const _ = require('lodash');
const _fileUtils = require('../utils/fileUtils');
module.exports = {
    schedule: {
        cron: '*/1 * * * *', // 每分钟执行
        //   interval: '10s', // 任务的间隔时间, 这个定义的10秒执行一次
        type: 'all', // 指定所有的 worker都需要执行
    },
    async task(ctx) {
        // const devices=ctx.app.dbs.find("Device",{});
        // console.log()
        // 这里编写我们要执行的任务代码, 我们这里就打印一下当前时间的试试
        // console.log("***任务执行 : " + new Date().toString());
        // const json =await _fileUtils.readFile2json(ctx.app.config.sysConfigFile);
        // console.log(json)
        // if (json.isLinkage)
        //     ctx.app.eventBus.emit("ACTION_LINKAGE_PROCESS", "");
// return
//         const array = await ctx.app.dbs.find("Tree", query);
//         //   console.log(array);
//         const idList = array.map(doc => doc.treeId);
//         const devices = await ctx.app.dbs.find("Device", {organizationCode: {$in: idList}});
//         console.log("devicess", devices);
//         _.map(array, item => {
//             const {configs} = item;
//             const {linkage} = configs;
//             const {conditionThings, eventThings} = linkage;//物模型
//             const conditionThingCodes = array.map(doc => doc.thingCode);
//             const eventThingCodes = array.map(doc => doc.thingCode);


        //   console.log(linkage);
        // });
    },
};

// module.exports = {
//     schedule: {
//         interval: '30m',
//         type: 'all',
//     },
//     async task(ctx) {
//         // const topic = '/DEVICE/BASE/UPDATE/DEV_SPEC_1121/DEV_TEST';
//         // const data = {
//         //     deviceCode: 'DEV_TEST', deviceSpecCode: 'DEV_SPEC_1121', params: [
//         //         {name: '温度', path: 'TEST', value: rand(20,100)},
//         //     ]
//         // };
//         //
//         // ctx.app.deviceMqtt.publish(topic,data);
//     },
// };
// function rand(min, max) {
//     return Math.ceil(Math.random() * (max - min + 1) + min - 1);
// }
